/*
 * @Author: sympsel sympsel@outlook.com
 * @Date: 2025-07-16 20:28:25
 * @LastEditors: sympsel sympsel@outlook.com
 * @LastEditTime: 2025-07-25 14:08:46
 * @FilePath: \work25_7_16_2\src\Stack.h
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
#pragma once

#include "universal.h"

#define DEFAULT_CAPACITY 10



// 支持动态增长的栈
typedef struct Stack
{
	int* _data;
	int _top;		// 栈顶
	int _capacity;  // 容量 
}Stack;
// 初始化栈 
Stack* StackInit(); 
// 入栈 
void StackPush(Stack* ps, int data); 
// 出栈 
int StackPop(Stack* ps); 
// 获取栈顶元素 
int StackTop(Stack* ps); 
// 获取栈中有效元素个数 
int StackSize(Stack* ps); 
// 检测栈是否为空，如果为空返回非零结果，如果不为空返回0 
bool StackEmpty(Stack* ps); 
// 销毁栈 
void StackDestroy(Stack* ps); 